<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <link rel="stylesheet" href="css/横向.css">
</head>

<body>
  <ul id="nav">
    <li>
      <a href="javascript:;">菜单一</a>
      <ul>
        <li>子菜单1-1</li>
        <li>子菜单1-2</li>
        <li>子菜单1-3</li>
      </ul>
    </li>
    <li>
      <a href="javascript:;">菜单二</a>
      <ul>
        <li>子菜单2-1</li>
        <li>子菜单2-2</li>
        <li>子菜单2-3</li>
      </ul>
    </li>
    <li>
      <a href="javascript:;">菜单三</a>
      <ul>
        <li>子菜单3-1</li>
        <li>子菜单3-2</li>
        <li>子菜单3-3</li>
      </ul>
    </li>
  </ul>

  <script src="./js/jquery-3.6.0.js"></script>
  <script>
    // 1. 鼠标移入大的菜单，让对应的子菜单显示；鼠标离开，让对应的子菜单隐藏
    // $('#nav > li').mouseenter(function () {
    //   // $(this)  $(document)   $(window)  --- 在jQuery，都需要加 $()
    //   // $(this) 表示输入进入的这个li元素
    //   // 通过事件源，找到叫做 ul 的孩子，让它显示
    //   // $(this).children('ul').show();
    //   $(this).find('ul').slideDown();
    // });

    // $('#nav > li').mouseleave(function () {
    //   // $(this).children('ul').hide();
    //   $(this).find('ul').slideUp();
    // });

    // 2. hover事件，这是jQuery自己封装的一个事件
    // $('元素').hover(函数1, 函数2);

    // $('#nav > li').hover(function () {
    //   $(this).find('ul').slideDown();
    // }, function () {
    //   $(this).find('ul').slideUp();
    // });

    // 3. 传递一个函数也可以，表示鼠标进入元素和离开元素都执行
    $('#nav > li').hover(function () {
      $(this).children('ul').stop().slideToggle();
      // $(this).children('ul').slideToggle();
    });
  </script>
</body>

</html>